5 תשובות
מה שבא לך.
היתרונות של דיבים זה בדרך כלל קוד קצר וברור יותר
טבלה זה עימוד קל יותר ופחות בעיות CSS.
כל מקרה לגופו.
אם תנסה לעשות שני דיבים באותו גובה, כנראה שתבזבז שעה רק בגלל שמישהו אמר לך ש"נכון" לעשות בדיבים.
אם תנסה לעשות את מבנה העמוד בטבלה - תקבל קוד ערוך והמון תגים שמפתרסים על עמוד שלם רק בגלל שמישהו אמר לך ש"נכון" לעשות בטבלאות.
תעשה מה שייקח לך פחות זמן וייתן יותר טועלת בכל מקרה לגופו.
יצא לי להתווכח עם מישהו בנושא הזה כבר. האם הכל צריך להיות בדיבים - כולל מבנים שהם טבלה או שלא.
שנינו הסכמנו שעובדים עם דיבים. לא מקודדים ולא מבצעים עימוד עם טבלאות - אלא עם דיבים.
אני אמרתי שכשיש מבנה שהוא טבלה (מערכת שעות לדוגמה, שמוצגת כטבלה) אז צריכים להשתמש בטבלה, אבל הוא התעקש שלא - שצריכים להשתמש בדיבים ולהגדיר אותם כטבלה ב-css (יש הגדרת כזו למאפיין display).
הטיעונים העיקריים שהוא העלה:
לקוח שלא מבין ב-html ורק שמע איפשהו שעבודה בטבלאות היא גרועה - לא יאהב את העבודה ברגע שיראה תגית table בקוד.
אם הלקוח לא מבין ב-html, אז למה שאני, בתור אחד שבונה לו את האתר, צריך לכתוב בצורה שגויה כדי שהוא יחשוב שהעבודה היא טובה? אם הוא לא מבין ב-html, אז פשוט נסביר לו שזו שטות אחת גמורה ושטבלאות כותבים עם תגית table ושיש סיבה לכך שהיא שם.
מנועי החיפוש לא אוהבים טבלאות.
מנועי החיפוש אולי לא אוהבים טבלאות, אבל רק כשמשתמשים בהן לא כשורה.
כשיש תגית table מנוע החיפוש יודע בוודאות שלפניו מוצגת טבלה וכך אנחנו הוא מבין את העמוד יותר טוב. אם הכל יהיה בדיבים אז אנחנו נאבד את המשמעות הסמנטית שהייתה לטבלה.
הדפדפן טוען לאט יותר את הטבלאות מאשר את הדיבים
אולי, למרות שאני ממש לא בטוח בזה מעולם לא ראיתי משהו שתומך בזה, אבל עדיין - אולי זה נכון.
גם אם זה נכון, זה לא נכון לגבי המקרה שלנו. כי ברגע שנגדיר את הדיב ב-css כטבלה (עם התכונה display) אז הדפדפן יבנה את הדיב ואת הטבלה בצורה זהה, כך שהם ייבנו באותה מהירות.
מה גם שעם תגית table אנחנו לא צריכים להגדיר ב-css את התגית שלנו כטבלה, כי היא כבר טבלה. כך שלדעתי במקרה הזה אפילו הטבלה מנצחת מבחינת מהירות (למרות שזה ממש זניח ושטותי, היום הדפדפנים מציגים כל עמוד תוך מאיות השנייה).
ב-css אפשר להגדיר תגיות כטבלה (display: table וכו'), למה? סתם? אף אחד לא הוסיף את זה סתם. זה בגלל שצריכים להשתמש בזה!
אז מה. גם אפשר להגדיר תגית כרשימה עם המאפיין display בדומה להגדרה כטבלה, ואני עדיין רואה שגם מי שמשתמש בדיב במקום ב-table ממשיך להשתמש ברשימה. את הרשימות שלו הוא לא הופך לדיבים.
וזה נכון מאוד, האופציות האלה במאפיין display לא נמצאות שם סתם. אתן דוגמה מתי צריך להשתמש ב-display: table.
נניח שאני רוצה להעלים את הטבלה, אני אתן לה display: none. אבל אם אני רוצה עכשיו להחזיר אותה? מה אני עושה? display: block לא מתאים. הטבלה תהפוך לבלוק ולא תהיה טבלה. לכן ניתן לה display: table כדי להחזיר אותה.
זו הסיבה שלכל סוג של תג יש לנו ייצוג במאפיין display.
מקווה שהבנת שכשצריכים טבלה אז משתמשים בטבלה. אין מה לפחד מהתגית table, היא לא נוראה כל כך כמו שאוהבים להציג אותה בכל מיני מקומות.
אבל חשוב לזכור - היא לא נועדה כדי לבצע את העימוד של הדף שלך.
בהצלחה. :)
מניסיון רב,
כשאפשר להשתמש בטבלה, אין כמו טבלה.
גם במעבר מ rtl ל ltr זה אוטומטי,
ופחות קוד CSS
תודה (במיוחד לעידן).
נ.ב. בטבלה יש בעייה שאין לי מושג איך להתגבר עליה:
אני צריך לשים בכל tr טופס(form) הבעייה שזה לא מתאפשר - כלומר אי אפשר לחצות את הטופס עם תגים של TD. = הטופס לא יעבוד
האם יש פתרון? או שפשוט לא להשתמש בטבלה